/**
 * 
 */
package webprog;

import java.util.concurrent.atomic.AtomicInteger;

import javax.servlet.http.HttpServletRequest;

import org.apache.catalina.websocket.StreamInbound;
import org.apache.catalina.websocket.WebSocketServlet;

/**
 * @author Gennadi Heimann
 * Klasse erstellt ein Objekt von DatenSendenUndEmpfange für 
 * jeden Spieler max 6
 *
 */
public class WebSocket extends WebSocketServlet{

	/**
	 * 
	 */
		
	private static final long serialVersionUID = 1L; 
	Verbindungsliste ver;
	DatenSendenUndEmpfangen websocket;
	// Erstellt id für die Sockets
	private AtomicInteger verbindungsId = new AtomicInteger(-1);
	
	public WebSocket() {
		ver = Verbindungsliste.getInstance();
	}

	@Override
	protected StreamInbound createWebSocketInbound(String arg0,
			HttpServletRequest arg1) {
		websocket = new DatenSendenUndEmpfangen(idIncrement(), this);
		ver.setVerbindungen(websocket);
		return websocket;
	}
	
	public synchronized void idZurucksetzen(){
		verbindungsId.set(-1);
	}
	public synchronized void idDecrenent(){
		verbindungsId.decrementAndGet();
	}
	public synchronized int idIncrement(){
		return verbindungsId.incrementAndGet();
	}
}
